package model

type SysSqlparam struct {
	DcModel
	SqlparamCode string              `gorm:"comment:SQL参数编码;not null;uniqueIndex;" json:"sqlparam_code"`
	SqlparamName string              `gorm:"type:text;not null;index" json:"sqlparam_name"`
	SqlparamType string              `gorm:"type:text" json:"sqlparam_type"`
	DefaultValue string              `gorm:"type:text" json:"default_value"`
	UseVariable  string              `gorm:"type:text" json:"use_variable"`
	Options      []SysSqlparamOption `gorm:"foreignKey:SqlparamCode;references:SqlparamCode" json:"options"`
	OptionSql    *string             `json:"option_sql"`
	Sql          []SysSql            `gorm:"many2many:sys_sql_sqlparam;foreignKey:SqlparamCode;joinForeignKey:SqlparamCode;references:SqlCode;joinReferences:SqlCode;" json:"sql" `
}

type RequestGetSqlparamList struct {
	RequestPageAndSort
	SqlparamCode string `json:"sqlparam_code"`
	SqlparamName string `json:"sqlparam_name"`
	SqlparamType string `json:"sqlparam_type"`
	DefaultValue string `json:"default_value"`
	UseVariable  string `json:"use_variable"`
	OptionSql    string `json:"option_sql"`
	Options      string `json:"options"`
	CreatedBy    string `json:"created_by"`
	UpdatedBy    string `json:"updated_by"`
}

type RequestAddSqlparam struct {
	RequestAdd
	SqlparamCode string `json:"sqlparam_code"`
	SqlparamName string `json:"sqlparam_name"`
	SqlparamType string `json:"sqlparam_type"`
	DefaultValue string `json:"default_value"`
	UseVariable  string `json:"use_variable"`
	Options      string `json:"options"`
	OptionSql    string `json:"option_sql"`
}

type RequestEditSqlparam struct {
	Id           uint   `json:"id"`
	Sort         uint   `json:"sort"`
	Status       string `json:"status"`
	Memo         string `json:"memo"`
	SqlparamCode string `json:"sqlparam_code"`
	SqlparamName string `json:"sqlparam_name"`
	SqlparamType string `json:"sqlparam_type"`
	DefaultValue string `json:"default_value"`
	UseVariable  string `json:"use_variable"`
	Options      string `json:"options"`
	OptionSql    string `json:"option_sql"`
}

type ResponseQuerySqlparam struct {
	Id           uint   `json:"id"`
	Sort         uint   `json:"sort"`
	Status       string `json:"status"`
	Memo         string `json:"memo"`
	SqlparamCode string `json:"sqlparam_code"`
	SqlparamName string `json:"sqlparam_name"`
	SqlparamType string `json:"sqlparam_type"`
	DefaultValue string `json:"default_value"`
	UseVariable  string `json:"use_variable"`
	Options      string `json:"options"`
	OptionSql    string `json:"option_sql"`
}
